Software packages (or “packages”) are distributions of software and metadata. A package management system includes a collection of tools to automate the process of installing, upgrading, configuring, and removing software packages from a computer. A package management system on Unix and Unix-like (e.g., Linux) systems typically manage thousands of packages.
Software packages are often distributed from a software distributor to a customer's site that includes servers and clients connecting to the servers. The software distributor may set up a plurality of distribution channels, with each distribution channel offering one software product to the servers and the clients. A customer subscribing to one channel is permitted to download and update the corresponding software product from that channel.
Conventional software distributors distribute server packages to a customer's servers through a channel, using a package management system to manage the installation, updates and removal of software. To distribute client packages to the customer's client machines, the customer's servers need to download the client packages locally, and an administrator will need to manually configure each client machine to install/update the software from the servers. As software updates may occur frequently, manual configuration is time-consuming and inefficient. Alternatively, a software distributor needs to set up a client distribution channel for the client machines to directly download the client packages from the distributor. Generally, direct communication through a distribution channel is supported when the participants are on the same operating system platform. However, the distributor's server and the client machines may not use the same operating system, and, therefore, may not be able to transfer packages through the distribution channel. Further, direct communication between a distributor and client machines may have negative security implications. Thus, there is a need to improve the distribution of client software to client machines.